﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace MobilesApplication
{
    public partial class OrderDetails : Form
    {
        public SqlConnection myConnection;
        public SqlCommand myCommand;
        public OrderDetails()
        {
            InitializeComponent();
        }

        public void KetNoi()
        {
            string strconnect = @"server=.\MOON-IU; database=QL_CuaHang; integrated security=true";
            myConnection = new SqlConnection(strconnect);
            myCommand = myConnection.CreateCommand();
        }
        private void LoadList_Click(object sender, EventArgs e)
        {
            KetNoi();
            myCommand.CommandType = CommandType.Text;
           // myCommand.CommandText = "select (SELECT COUNT(*) FROM OrderDetails AS tam WHERE tam.MaSV<=OrderDetails.MaSV) AS STT, QuanLy. * FROM QuanLy order by STT";
            try
            {
                if (this.myConnection.State == ConnectionState.Closed)
                    this.myConnection.Open();
                SqlDataAdapter myDataAdapter = new SqlDataAdapter(myCommand);
                DataSet ds = new DataSet();
                myDataAdapter.Fill(ds, "OrderDetails");
                this.gvDanhSach.DataSource = ds.Tables[0];
                this.myConnection.Close();
            }
            catch
                {
                MessageBox.Show("Lối kết nối");
                }
          }
        private void txtStockRecievedID_TextChanged(object sender, EventArgs e)
        {

        }
        private bool TimMa()
        {
            for (int i = 0; i < this.gvDanhSach.Rows.Count - 1; i++)
                if (string.Compare(txtorderid.Text, gvDanhSach.Rows[i].Cells[1].Value.ToString(), true) == 0)
                    return false;
            return true;
        }
        private void btAdd_Click(object sender, EventArgs e)
        {
            if (txtorderid.Text.Trim().Length == 7)
            {
               
                if (this.txtStockRecievedID.Text.Trim().Length == 0)
                {
                    this.txtStockRecievedID.Focus();
                    MessageBox.Show("Bạn chưa Id phiếu nhập ", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                else
                if (this.txtProductID.Text.Trim().Length == 0)
                {
                    this.txtProductID.Focus();
                    MessageBox.Show("Bạn chưa Id phiếu nhập ", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                else
                if (this.txtUnit.Text.Trim().Length ==0)
                {
                    this.txtUnit.Focus();
                    MessageBox.Show("Bạn chưa nhập số lượng ", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                else
                         
                {
                    if (TimMa())
                    {
                        this.myConnection.Open();
                        myCommand.CommandText = "insert into OrderDetails values ('" + txtorderid.Text + "',N'" + txtStockRecievedID.Text + "',N'" + txtProductID.Text + "','" + txtUnit.Text + "')";
                        myCommand.CommandType = CommandType.Text;
                        myCommand.ExecuteNonQuery();
                        this.myConnection.Close();
                        MessageBox.Show("Đã thêm đơn dặt hàng có mã số " + txtorderid.Text);
                    }
                    else
                    {
                        this.txtorderid.Focus();
                        MessageBox.Show("Mã số sinh viên " + txtorderid.Text + " đã tồn tại");
                    }
                            
                }

            }
            else
      
            {
                this.txtorderid.Focus();
                MessageBox.Show("Mã số đơn dặt hàng phải có 7 số ", "Lỗi thêm dữ liệu", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            LoadList_Click(sender, e);
        }

        private void btChange_Click(object sender, EventArgs e)
        {
            try
            {

                if (txtorderid.Text.Trim().Length != 0)
                {
                    this.myConnection.Open();
                    myCommand.CommandText = "Update OrderDetails set StockRecievedID='" + txtStockRecievedID.Text + "', ProductID='" + txtProductID.Text + "',Unit='" + txtUnit.Text + "' where OrderID='" + this.txtorderid.Text + "'";
                    myCommand.ExecuteNonQuery();
                    this.myConnection.Close();
                    if (!TimMa())
                        MessageBox.Show("Đã sửa thông tin đơn dặt hàng có mã số: " + txtorderid.Text);
                    else
                        MessageBox.Show("Không tồn tại  đơn dặt hàng có mã số: " + txtorderid.Text);
                    LoadList_Click(sender, e);
                }
                else
                {
                    this.txtorderid.Focus();
                    MessageBox.Show("Nhập mã số đơn dặt hàng cần sửa");
                }
            }
            catch
            {
                MessageBox.Show("Sửa không thành công");
            }
            LoadList_Click(sender, e);
        }

        private void btDelete_Click(object sender, EventArgs e)
        {
            if (txtorderid.Text.Trim().Length != 0)
            {
                if (!TimMa())
                {
                    myConnection.Open();
                    myCommand.CommandText = "delete from OrderDetails where OrderID ='" + txtorderid.Text + "'";
                    myCommand.ExecuteNonQuery();
                    myConnection.Close();
                    MessageBox.Show("Đã xóa đơn dặt hàng có mã số: " + txtorderid.Text);
                    //btRefresh_Click(sender, e);
                }
                else
                    MessageBox.Show("Không tồn tại đơn dặt hàng có mã số: " + txtorderid.Text);
                LoadList_Click(sender, e);
            }
            else
            {
                this.txtorderid.Focus();
                MessageBox.Show("Hãy nhập mã đơn dặt hàng cần xóa");
            }
        }

        private void btExit_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        }
    }

